package com.qinggeng.project.system.mapper;

import java.util.List;

import com.qinggeng.project.api.dto.GoodsEvaluateDto;
import com.qinggeng.project.api.dto.UserEvaluateDto;
import com.qinggeng.project.api.dto.UserEvaluateGoodsDto;
import com.qinggeng.project.system.domain.OrdersEvaluate;
import org.apache.ibatis.annotations.Param;

/**
 * 订单评价Mapper接口
 * 
 * @author qinggeng
 * @date 2020-06-19
 */
public interface OrdersEvaluateMapper 
{
    /**
     * 查询订单评价
     * 
     * @param ordersEvaluateId 订单评价ID
     * @return 订单评价
     */
    public OrdersEvaluate selectOrdersEvaluateById(Long ordersEvaluateId);

    /**
     * 查询订单评价列表
     * 
     * @param ordersEvaluate 订单评价
     * @return 订单评价集合
     */
    public List<OrdersEvaluate> selectOrdersEvaluateList(OrdersEvaluate ordersEvaluate);

    /**
     * 新增订单评价
     * 
     * @param ordersEvaluate 订单评价
     * @return 结果
     */
    public int insertOrdersEvaluate(OrdersEvaluate ordersEvaluate);

    /**
     * 修改订单评价
     * 
     * @param ordersEvaluate 订单评价
     * @return 结果
     */
    public int updateOrdersEvaluate(OrdersEvaluate ordersEvaluate);

    /**
     * 删除订单评价
     * 
     * @param ordersEvaluateId 订单评价ID
     * @return 结果
     */
    public int deleteOrdersEvaluateById(Long ordersEvaluateId);

    /**
     * 批量删除订单评价
     * 
     * @param ordersEvaluateIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteOrdersEvaluateByIds(Long[] ordersEvaluateIds);

    /**
     * 商品评价信息
     * @param where
     * @return
     */
    List<GoodsEvaluateDto> selectOrdersEvaluateGoodsDtoList(OrdersEvaluate where);

    /**
     * 用户评价信息
     * @param where
     * @return
     */
    List<UserEvaluateDto> selectOrdersEvaluateUserDtoList(OrdersEvaluate where);

    /**
     * 用户评价商品信息
     * @param goodsId
     * @param ordersId
     * @return
     */
    List<UserEvaluateGoodsDto> selectOrdersEvaluateUserGoodsDtoList(@Param("goodsId") Long goodsId, @Param("ordersId") Long ordersId);

}
